//
//  NSDate+CQDate.h
//  CQUtils
//
//  Created by runo on 16/5/17.
//  Copyright © 2016年 com.runo. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSInteger, CQDataFromatType) {
    
    CQDataFromatType1 = 0, //   yyyy-MM-dd HH:mm:ss
    CQDataFromatType2,     //   yyyyMMddHHmmss
    CQDataFromatType3,     //   yyyy.MM.dd
    CQDataFromatType4      //   yyyy-MM-dd  可扩展
    
};

@interface NSDate (CQDate)

/**
 *  date转字符串
 *
 *  @return 返回 yyyy-MM-dd HH:mm:ss 格式字符串
 */
-(NSString *)cqToString;

/**
 *  已制定格式转化字符串
 *
 *  @param formatString 要转化的格式
 *
 *  @return 转化后的字符串
 */
-(NSString *)cqToStringWithFormatString:(CQDataFromatType)type;

/**
 *  获取当前时间字符串
 *
 *  @return 当前时间字符串
 */
+(NSString *)cqNowString;

/**
 *  当前时间转化为指定格式的字符串
 *
 *  @param formatString 字符串格式
 *
 *  @return 转化后的字符串
 */
+(NSString *)cqNowDateToStringWithFormatString:(CQDataFromatType)formatString;

/**
 *  将 yyyy-MM-dd HH:mm:ss 格式的字符串转化成date
 *
 *  @param string yyyy-MM-dd HH:mm:ss 格式的字符串
 *
 *  @return date
 */
+(NSDate *)cqGetDateFromString:(NSString *)string;

/**
 *  字符串转时间
 *
 *  @param format     时间格式
 *  @param dateString 该格式的时间字符串
 *
 *  @return 时间
 */
+(NSDate*)cqGetDateWithFormatString:(CQDataFromatType)format DateString:(NSString *)dateString;

/**
 *  获取时间间隔中有_的时间
 *
 *  @param fileName 时间
 *
 *  @return 标准时间
 */
+(NSString *)cqGetHisvideoTime:(NSString*)fileName;

/**
 *  根据时间戳获取指定type的时间字符串
 *
 *  @param time 时间戳
 *  @param type 时间格式类型
 *
 *  @return 时间字符串
 */
+(NSString *)cqGetDateWithTimeIntervalSince1970:(NSTimeInterval)time Type:(CQDataFromatType)type;

/**计算两个时间字符串的间隔秒数 */
+(NSTimeInterval)cqCaculateBeforTime:(NSString *)btime AfterTime:(NSString *)afterTime Type:(CQDataFromatType)type;

/**根据时间间隔计算间隔了几分钟  ----以后拓展成其他格式--*/
+(NSString *)cqIntervalString:(NSTimeInterval)interval;

/**根据UTC时间获取当前时区时间*/
+ (NSDate *)cqGetNowDateFromatAnDate:(NSDate *)anyDate;

/**获得当前时区下现在时间与这个时间的差*/
-(NSTimeInterval)cqTimeIntervalSinceNow;
@end
